1. Field of the Invention
The present invention relates generally to processing devices, and, more specifically to systems and methods for improving the handling of the movement of data and processing of data within a processing device.
2. Discussion of the Background
FIG. 1 illustrates a conventional processing device 100. Processing device 100 includes a housing 102 that houses one or more agents 110 and a platform hub 120. For example, housing 102 may house the following agents: zero or more acceleration agents 110a(1)-110a(N), zero or more processing agents 110b(1)-110b(N), zero or more communication agents 110c(1)-110c(N), zero or more storage agents 110d, zero or more legacy agents 110e, zero or more external memory agents 110f, etc. A communication agent 110c may include a physical connection to a communication channel (e.g., a fiber cable or Ethernet cable). The platform hub 120 is sometimes referred to as a “south bridge (SB)” or “north bridge (NB).” A processing agent 110b may be an x86 microprocessor from Intel, or may be processing device sold by AMD or other source of processing devices, and the platform hub 120 may be contained in a chip that sits on the same circuit board as a processing agent 110b. 
FIG. 2A illustrates one example processing agent 110b. As shown in FIG. 2, a processing agent 110b may include (a) a host 202 that includes one or more central processing units (CPU) and (2) one or more memory banks coupled to host 202. In the example shown, there are two memory banks, one that is positioned to right of the host 202 and one that is positioned to the left of the host 202. FIG. 2B attempts to illustrate another example processing agent 110b. As illustrated in FIG. 2B, a processing agent 110b can also be a multi-processor cluster (e.g. AMD Opteron™ x86 System). In such a case, the platform hub can be connected to one or a subset of processors in the cluster through a SB/NB Link, but can, in most cases, interact with all of the processors or memories in the cluster since the cluster is interconnected.
Platform Hub 120 is configured to enable the agents 110 to communicate with a processing agent 110b, but is not configured to enable the “non-processing agents” (e.g., agents 110a,c,d,e,f) to communicate directly with each other, but this is not the only disadvantage of platform hub 120.
Thus, in the conventional processing device 100, all data must flow through a processing agent 110b. That is, for example, if data output from a communication agent 110c is ultimately destined for a storage agent 110d, the data output from communication agent 110c is received by platform hub 120, which then provides the data to a processing agent 110b such that the data is stored in a memory unit of the processing agent. After the data is stored in the memory unit, the data is then received from the memory unit and provided to platform hub 120, which then provides the data to storage agent 110d. Each data movement transaction consumes system resources due to the data handling and consumes system power due to the data passing process.
Some embodiments of the present invention aim to improve the data handling and/or passing process so as to reduce the amount of system resources and/or power that is consumed.